iT邦幫忙

2022 iThome 鐵人賽

DAY 11
0
DevOps

Golang X DevOps系列 第 11

Day11 - 淺談一下 Microservices

  • 分享至 

  • xImage
  •  

Monolith

  • 先來看看我們平常接觸到的架構

  • 你可以把她想像成一塊超大塊的積木(大雜燴的概念 全部通通放在一起

  • 舉個電商網站的例子來說

  • 這個網站可能會有很多功能

    • 用戶管理
    • 登錄驗證
    • 商品管理
    • 歷史購物查看
  • 可能有些人寫過網頁概念會很清楚

Monolithic pro and cons

  • 最直覺的優點

    • 開發容易
    • 新手容易上手
    • 單一 Server
  • 如果有在做維護的人 應該會看過幾項缺點

    • 開發效率低
    • 不易擴充
  • 開發效率低是因為如果有用 Git 做專案管理 那要 Merge 的時候 都需要去解決 Conflict

  • 而不易擴充是指說若我未來想要讓系統擴充的話 其他程式碼的利用率會下降 導致整包越來越肥大(就是不能為服務量身訂做的概念,最後導致整體維運成本提高和部屬時間增長的後果

Microservices

  • 那相反地 Microservice 可以解決上述的問題
  • 他就是由小積木慢慢堆疊成大積木的

Microservices pro and cons

  • 優點

    • 容易擴充
    • 可以按照邏輯區分
    • 可以簡單抽換服務
    • 各服務間可以透過Restful API做溝通
    • 修改時不會影響其他的服務
    • 服務中斷不會影響到整體運行
  • 缺點

    • 設計難度較高
    • 測試困難
    • 難上手
    • 開發時間較長

這裡只是淺談一下微服務和單體式架構的差異,像是AppleBOY大大或是其他有寫過的人或描述得比較詳細,有興趣可以去看看詳細的介紹

這兩種個有他的優缺點,而通常 backend 簡單輕量的,單體式架構就可以解決的,Microservices 會用在整體架構比較複雜的專案上

單體式架構be like
https://ithelp.ithome.com.tw/upload/images/20220920/20151327elHMs00Kj7.jpg


上一篇
Day10 - 完成你的指令 讓它屬於你
下一篇
Day12 - 認識 gRPC
系列文
Golang X DevOps30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言